import request from '@/utils/request'

/**
 * 用户管理API
 */

// 获取用户列表
export function getUserList(params) {
  return request({
    url: '/api/admin/users',
    method: 'get',
    params
  })
}

// 获取用户详情
export function getUserDetail(id) {
  return request({
    url: `/api/admin/users/${id}`,
    method: 'get'
  })
}

// 创建用户
export function createUser(data) {
  return request({
    url: '/api/admin/users',
    method: 'post',
    data
  })
}

// 更新用户
export function updateUser(id, data) {
  return request({
    url: `/api/admin/users/${id}`,
    method: 'put',
    data
  })
}

// 删除用户
export function deleteUser(id) {
  return request({
    url: `/api/admin/users/${id}`,
    method: 'delete'
  })
}

// 获取用户的角色列表
export function getUserRoles(userId) {
  return request({
    url: `/api/admin/users/${userId}/roles`,
    method: 'get'
  })
}

// 为用户分配角色
export function assignUserRoles(userId, roleIds) {
  return request({
    url: `/api/admin/users/${userId}/roles`,
    method: 'post',
    data: { roleIds }
  })
}

// 移除用户的角色
export function removeUserRoles(userId, roleIds) {
  return request({
    url: `/api/admin/users/${userId}/roles`,
    method: 'delete',
    data: { roleIds }
  })
}

// 获取用户的权限列表
export function getUserPermissions(userId) {
  return request({
    url: `/api/admin/users/${userId}/permissions`,
    method: 'get'
  })
}
